package com.fyp.ptma.dao.service.iservice;

import java.util.List;

import org.hibernate.HibernateException;

import com.fyp.ptma.dao.exception.AuthenticationException;
import com.fyp.ptma.model.Application;
import com.fyp.ptma.model.User;

/**
 * 
 * @author YahyaArshad
 * 
 */
public interface IUserService extends IService {
	/**
	 * 
	 * @param user
	 * @return
	 * @throws HibernateException
	 */
	public List<Application> getAllApplications(User user)
			throws HibernateException;

	/**
	 * 
	 * @param user
	 * @return
	 * @throws HibernateException
	 */
	public Application getApplication(User user) throws HibernateException;

	/**
	 * 
	 * @param user
	 * @return
	 * @throws AuthenticationException
	 * @throws HibernateException
	 */
	public boolean authenticateLogin(User user) throws AuthenticationException,
			HibernateException;

	/**
	 * 
	 * @param user
	 * @return
	 * @throws HibernateException
	 */
	public User getUserByEmail(String email) throws HibernateException;
	
	 
}
